<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>流程控制作业</title>
  </head>
  <body>
    <script>

      /* 
      T0 自己完成流程控制的思维导图，明天检查
      */

      /* 
      T1  在控制台中循环输出 0 0.2 0.4 0.6 0.8 1
      */
      for(var i=0;i<=10;i+=2){
        console.log(i/10);
      }

      /* 
      T2  break和continue有什么区别
      */
      // break: 打断，跳出循环体，循环结束(不再执行剩下的循环次数)。
      // continue：继续，跳出当前循环体，执行剩下的循环次数。

      /* 
      T3  循环输出 1-100 里奇数
      */
      var count = 1;
      while(count < 100){
        /* if(count % 2 ===1){
          console.log(count);
        }
        count++; */
        console.log(count);
        count += 2;
      }
      
      /* do{
        if(count % 2 === 1){
          console.log(count);
        }
        count++; 
        console.log(count);
        count += 2;
      }while(count < 100);*/

      /* for(var i = 1; i<100;i+=2){
        if(i % 2 === 1){
          console.log(i);
        }
        console.log(i);
      } */

      /* 
      T4  有一座桥，当你身上所拥有的钱大于 30000 时，每过一次桥则需要支付 3000 元。
      当你身上的钱小于或等于 30000 时，每过一次桥则需要支付你身上 10%的钱。
      已知有一个人身上有 33000 元，问此人能过这座桥多少次之后，身上的钱会少于 100 块?
      */
      var totalMoney = 33000;
      var count = 0;
      while(totalMoney >= 100){
        count++;
        if(totalMoney > 30000){
          totalMoney -= 3000;
        }else if(totalMoney <= 30000){
          totalMoney -= totalMoney*0.1;
        }else if(totalMoney < 100){
          break;
        }
      }
      console.log(count);

      /* 
      T5  小明去存 1000 钱，每天会产生 1%的利息，求问，30 天后，小明可以拿回多少钱
      */
     var money = 1000
      for(var i = 1;i<=30;i++){
        money += money*0.01;
      }
      console.log(money);

      /* 
      (提高)求水仙花数：水仙花数是这样一个三位数,它的每个数位的数字的立方和等于它本身。
      */
     var a, b, c;
     for(var i = 100; i<1000;i++){
      a = parseInt(i%10);
      b = parseInt((i/10)%10);
      c = parseInt(i/100);
      if(a**3+b**3+c**3 == i){
        console.log(i);
      }
     }
      // for(var i = 100;i<1000;i++){
      //   var sum = 0;
      //   var a = i;
      //   while(a > 0){
      //     var b = a % 10;
      //     sum += b*b*b;
      //     a =  Math.floor(a/10);
      //   }
      //   if(i == sum){
      //     console.log(i);
      //   }
      // }


      /* 
      (提高)
      猜数字游戏
      规则：
      1. 电脑随机生成一个 0~99 之间的数字；
      2. 玩家有 7 次猜测的机会；
      3. 玩家猜测一个数字, 输入到程序中；
      4. 电脑根据输入的数字打印: 猜大了/猜小了/猜对了的情况；
      5. 猜对了, 那么游戏结束，显示恭喜您；
      6. 7 次机会用完打印: 您的次数用完了, 您失败了；
      */
      var randomNum = Math.floor(Math.random()*100);
      console.log(randomNum);
      var yourNum = 0;
      var count = 3;  // 测试次数，7次次数太多。
      do{
        if(count > 0){
          yourNum = Number(prompt("请输入你的数字"));
          if(yourNum == randomNum){
            alert("恭喜你！猜对了");
          }else if(yourNum > randomNum){
            alert("猜大了");
            count--;
          }else if(yourNum < randomNum){
            alert("猜小了");
            count--;
          }else{
            alert("请输入一个数字");
          }
        }else{
          alert("您失败了");
          break;
        }
      }while(yourNum != randomNum);
    </script>
  </body>
</html>
